using UnityEngine;

namespace UnityX
{
    public struct NotificationStyle
    {
        /// <summary>
        /// 背景颜色
        /// </summary>
        public Color backgroundColor;
        /// <summary>
        /// 文字颜色
        /// </summary>
        public Color textColor;
        /// <summary>
        /// 图标颜色
        /// </summary>
        public Color iconColor;
        /// <summary>
        /// 图标图片
        /// </summary>
        public Texture2D iconTexture;
        /// <summary>
        /// 创建通知样式
        /// </summary>
        /// <param name="backgroundColor">背景颜色</param>
        /// <param name="textColor">文字颜色</param>
        /// <param name="iconColor">图标颜色</param>
        public NotificationStyle(Color backgroundColor, Color textColor, Color iconColor)
        {
            this.backgroundColor = backgroundColor;
            this.textColor = textColor;
            this.iconColor = iconColor;
            this.iconTexture = null;
        }
        /// <summary>
        /// 创建通知样式
        /// </summary>
        /// <param name="backgroundColor">背景颜色</param>
        /// <param name="textColor">文字颜色</param>
        /// <param name="iconTexture">图标图片</param>
        public NotificationStyle(Color backgroundColor, Color textColor, Texture2D iconTexture)
        {
            this.backgroundColor = backgroundColor;
            this.textColor = textColor;
            this.iconColor = Color.white;
            this.iconTexture = iconTexture;
        }
        /// <summary>
        /// 创建通知样式
        /// </summary>
        /// <param name="backgroundColor">背景颜色</param>
        /// <param name="textColor">文字颜色</param>
        /// <param name="iconColor">图标颜色</param>
        /// <param name="iconTexture">图标图片</param>
        public NotificationStyle(Color backgroundColor, Color textColor, Color iconColor, Texture2D iconTexture)
        {
            this.backgroundColor = backgroundColor;
            this.textColor = textColor;
            this.iconColor = iconColor;
            this.iconTexture = iconTexture;
        }
        /// <summary>
        /// 创建通知样式
        /// </summary>
        /// <param name="other">其他通知样式</param>
        public NotificationStyle(NotificationStyle other)
        {
            this.backgroundColor = other.backgroundColor;
            this.textColor = other.textColor;
            this.iconColor = other.iconColor;
            this.iconTexture = other.iconTexture;
        }
    }
}